﻿namespace CKQDJK {
	using System;
	using SuperORM.Attributes;
	using System.ComponentModel;
	
	
	/// <summary>矿产资源补偿费</summary>
	[Object("矿产资源补偿费", "CKQDJK", "矿产资源补偿费")]
	[Browsable(true)]
	[DisplayName("矿产资源补偿费")]
	[ReadOnly(false)]
	[Serializable()]
	public class 矿产资源补偿费 : SuperORM.BusinessObject {
		
		/// <summary>内部变量：BSM</summary>
		private int m_BSM;
		
		/// <summary>标示属性BSM是否为空的字段。</summary>
		private bool m_IsBSMNull = true;
		
		/// <summary>内部变量：采矿许可证号</summary>
		private string m_采矿许可证号;
		
		/// <summary>标示属性采矿许可证号是否为空的字段。</summary>
		private bool m_Is采矿许可证号Null = true;
		
		/// <summary>内部变量：矿山名称</summary>
		private string m_矿山名称;
		
		/// <summary>标示属性矿山名称是否为空的字段。</summary>
		private bool m_Is矿山名称Null = true;
		
		/// <summary>内部变量：生产周期年份</summary>
		private string m_生产周期年份;
		
		/// <summary>标示属性生产周期年份是否为空的字段。</summary>
		private bool m_Is生产周期年份Null = true;
		
		/// <summary>内部变量：生产周期季度</summary>
		private string m_生产周期季度;
		
		/// <summary>标示属性生产周期季度是否为空的字段。</summary>
		private bool m_Is生产周期季度Null = true;
		
		/// <summary>内部变量：产量</summary>
		private double m_产量;
		
		/// <summary>标示属性产量是否为空的字段。</summary>
		private bool m_Is产量Null = true;
		
		/// <summary>内部变量：销量</summary>
		private double m_销量;
		
		/// <summary>标示属性销量是否为空的字段。</summary>
		private bool m_Is销量Null = true;
		
		/// <summary>内部变量：单价</summary>
		private double m_单价;
		
		/// <summary>标示属性单价是否为空的字段。</summary>
		private bool m_Is单价Null = true;
		
		/// <summary>内部变量：销售收入</summary>
		private double m_销售收入;
		
		/// <summary>标示属性销售收入是否为空的字段。</summary>
		private bool m_Is销售收入Null = true;
		
		/// <summary>内部变量：本期应缴</summary>
		private double m_本期应缴;
		
		/// <summary>标示属性本期应缴是否为空的字段。</summary>
		private bool m_Is本期应缴Null = true;
		
		/// <summary>内部变量：本期实缴</summary>
		private double m_本期实缴;
		
		/// <summary>标示属性本期实缴是否为空的字段。</summary>
		private bool m_Is本期实缴Null = true;
		
		/// <summary>内部变量：交款时间</summary>
		private System.DateTime m_交款时间;
		
		/// <summary>标示属性交款时间是否为空的字段。</summary>
		private bool m_Is交款时间Null = true;
		
		/// <summary>内部变量：收款人</summary>
		private string m_收款人;
		
		/// <summary>标示属性收款人是否为空的字段。</summary>
		private bool m_Is收款人Null = true;
		
		/// <summary>内部变量：备注</summary>
		private string m_备注;
		
		/// <summary>标示属性备注是否为空的字段。</summary>
		private bool m_Is备注Null = true;
		
		/// <summary>内部变量：排序编码</summary>
		private int m_排序编码;
		
		/// <summary>标示属性排序编码是否为空的字段。</summary>
		private bool m_Is排序编码Null = true;
		
		/// <summary>内部变量：DJ_CK_GUID</summary>
		private string m_DJ_CK_GUID;
		
		/// <summary>标示属性DJ_CK_GUID是否为空的字段。</summary>
		private bool m_IsDJ_CK_GUIDNull = true;
		
		public static string TypeID = "CKQDJK.矿产资源补偿费";
		
		/// <summary>属性BSM</summary>
		[Member("BSM", "BSM", true, true, "BSM")]
		[Browsable(true)]
		[DisplayName("BSM")]
		[ReadOnly(false)]
		public int BSM {
			get {
				return this.m_BSM;
			}
			set {
				this.m_BSM = value;
				this.m_IsBSMNull = false;
				if ((this.OnOIDChanged != null)) {
					this.OnOIDChanged(this, null);
				}
			}
		}
		
		/// <summary>属性采矿许可证号</summary>
		[Member("采矿许可证号", "采矿许可证号", "System.String", 23, false, false, "采矿许可证号")]
		[Browsable(true)]
		[DisplayName("采矿许可证号")]
		[ReadOnly(false)]
		public string 采矿许可证号 {
			get {
				return this.m_采矿许可证号;
			}
			set {
				this.m_采矿许可证号 = value;
				this.m_Is采矿许可证号Null = false;
			}
		}
		
		/// <summary>属性矿山名称</summary>
		[Member("矿山名称", "矿山名称", "System.String", 200, false, false, "矿山名称")]
		[Browsable(true)]
		[DisplayName("矿山名称")]
		[ReadOnly(false)]
		public string 矿山名称 {
			get {
				return this.m_矿山名称;
			}
			set {
				this.m_矿山名称 = value;
				this.m_Is矿山名称Null = false;
			}
		}
		
		/// <summary>属性生产周期年份</summary>
		[Member("生产周期年份", "生产周期年份", "System.String", 20, false, false, "生产周期年份")]
		[Browsable(true)]
		[DisplayName("生产周期年份")]
		[ReadOnly(false)]
		public string 生产周期年份 {
			get {
				return this.m_生产周期年份;
			}
			set {
				this.m_生产周期年份 = value;
				this.m_Is生产周期年份Null = false;
			}
		}
		
		/// <summary>属性生产周期季度</summary>
		[Member("生产周期季度", "生产周期季度", "System.String", 20, false, false, "生产周期季度")]
		[Browsable(true)]
		[DisplayName("生产周期季度")]
		[ReadOnly(false)]
		public string 生产周期季度 {
			get {
				return this.m_生产周期季度;
			}
			set {
				this.m_生产周期季度 = value;
				this.m_Is生产周期季度Null = false;
			}
		}
		
		/// <summary>属性产量</summary>
		[Member("产量", "产量", "System.Double", 8, false, false, "产量")]
		[Browsable(true)]
		[DisplayName("产量")]
		[ReadOnly(false)]
		public double 产量 {
			get {
				return this.m_产量;
			}
			set {
				this.m_产量 = value;
				this.m_Is产量Null = false;
			}
		}
		
		/// <summary>属性销量</summary>
		[Member("销量", "销量", "System.Double", 8, false, false, "销量")]
		[Browsable(true)]
		[DisplayName("销量")]
		[ReadOnly(false)]
		public double 销量 {
			get {
				return this.m_销量;
			}
			set {
				this.m_销量 = value;
				this.m_Is销量Null = false;
			}
		}
		
		/// <summary>属性单价</summary>
		[Member("单价", "单价", "System.Double", 8, false, false, "单价")]
		[Browsable(true)]
		[DisplayName("单价")]
		[ReadOnly(false)]
		public double 单价 {
			get {
				return this.m_单价;
			}
			set {
				this.m_单价 = value;
				this.m_Is单价Null = false;
			}
		}
		
		/// <summary>属性销售收入</summary>
		[Member("销售收入", "销售收入", "System.Double", 8, false, false, "销售收入")]
		[Browsable(true)]
		[DisplayName("销售收入")]
		[ReadOnly(false)]
		public double 销售收入 {
			get {
				return this.m_销售收入;
			}
			set {
				this.m_销售收入 = value;
				this.m_Is销售收入Null = false;
			}
		}
		
		/// <summary>属性本期应缴</summary>
		[Member("本期应缴", "本期应缴", "System.Double", 8, false, false, "本期应缴")]
		[Browsable(true)]
		[DisplayName("本期应缴")]
		[ReadOnly(false)]
		public double 本期应缴 {
			get {
				return this.m_本期应缴;
			}
			set {
				this.m_本期应缴 = value;
				this.m_Is本期应缴Null = false;
			}
		}
		
		/// <summary>属性本期实缴</summary>
		[Member("本期实缴", "本期实缴", "System.Double", 8, false, false, "本期实缴")]
		[Browsable(true)]
		[DisplayName("本期实缴")]
		[ReadOnly(false)]
		public double 本期实缴 {
			get {
				return this.m_本期实缴;
			}
			set {
				this.m_本期实缴 = value;
				this.m_Is本期实缴Null = false;
			}
		}
		
		/// <summary>属性交款时间</summary>
		[Member("交款时间", "交款时间", "System.DateTime", 8, false, false, "交款时间")]
		[Browsable(true)]
		[DisplayName("交款时间")]
		[ReadOnly(false)]
		public System.DateTime 交款时间 {
			get {
				return this.m_交款时间;
			}
			set {
				this.m_交款时间 = value;
				this.m_Is交款时间Null = false;
			}
		}
		
		/// <summary>属性收款人</summary>
		[Member("收款人", "收款人", "System.String", 20, false, false, "收款人")]
		[Browsable(true)]
		[DisplayName("收款人")]
		[ReadOnly(false)]
		public string 收款人 {
			get {
				return this.m_收款人;
			}
			set {
				this.m_收款人 = value;
				this.m_Is收款人Null = false;
			}
		}
		
		/// <summary>属性备注</summary>
		[Member("备注", "备注", "System.String", 1000, false, false, "备注")]
		[Browsable(true)]
		[DisplayName("备注")]
		[ReadOnly(false)]
		public string 备注 {
			get {
				return this.m_备注;
			}
			set {
				this.m_备注 = value;
				this.m_Is备注Null = false;
			}
		}
		
		/// <summary>属性排序编码</summary>
		[Member("排序编码", "排序编码", "System.Int32", 4, false, false, "排序编码")]
		[Browsable(true)]
		[DisplayName("排序编码")]
		[ReadOnly(false)]
		public int 排序编码 {
			get {
				return this.m_排序编码;
			}
			set {
				this.m_排序编码 = value;
				this.m_Is排序编码Null = false;
			}
		}
		
		/// <summary>属性DJ_CK_GUID</summary>
		[Member("DJ_CK_GUID", "DJ_CK_GUID", "System.String", 100, false, false, "DJ_CK_GUID")]
		[Browsable(true)]
		[DisplayName("DJ_CK_GUID")]
		[ReadOnly(false)]
		public string DJ_CK_GUID {
			get {
				return this.m_DJ_CK_GUID;
			}
			set {
				this.m_DJ_CK_GUID = value;
				this.m_IsDJ_CK_GUIDNull = false;
			}
		}
		
		/// <summary>对象ID发生变化的时候触发的事件</summary>
		public event SuperORM.Attributes.OIDChangedHandler OnOIDChanged;
		
		/// <summary>属性改变的时候</summary>
		public event SuperORM.PropertyChangeHandler PropertyChanged;
		
		// 重载的方法，判断两个对象是否相等，判断条件是两个对象的主键值是否相等。
		public override bool Equals(object obj) {
			矿产资源补偿费 矿产资源补偿费 = ((矿产资源补偿费)(obj));
			if ((矿产资源补偿费.BSM == this.m_BSM)) {
				return true;
			}
			else {
				return false;
			}
		}
		
		/// <summary>判断某一个属性是否为空</summary>
		public override bool IsNull(string propname) {
			if (propname.Equals("BSM")) {
				return this.m_IsBSMNull;
			}
			if (propname.Equals("采矿许可证号")) {
				return this.m_Is采矿许可证号Null;
			}
			if (propname.Equals("矿山名称")) {
				return this.m_Is矿山名称Null;
			}
			if (propname.Equals("生产周期年份")) {
				return this.m_Is生产周期年份Null;
			}
			if (propname.Equals("生产周期季度")) {
				return this.m_Is生产周期季度Null;
			}
			if (propname.Equals("产量")) {
				return this.m_Is产量Null;
			}
			if (propname.Equals("销量")) {
				return this.m_Is销量Null;
			}
			if (propname.Equals("单价")) {
				return this.m_Is单价Null;
			}
			if (propname.Equals("销售收入")) {
				return this.m_Is销售收入Null;
			}
			if (propname.Equals("本期应缴")) {
				return this.m_Is本期应缴Null;
			}
			if (propname.Equals("本期实缴")) {
				return this.m_Is本期实缴Null;
			}
			if (propname.Equals("交款时间")) {
				return this.m_Is交款时间Null;
			}
			if (propname.Equals("收款人")) {
				return this.m_Is收款人Null;
			}
			if (propname.Equals("备注")) {
				return this.m_Is备注Null;
			}
			if (propname.Equals("排序编码")) {
				return this.m_Is排序编码Null;
			}
			if (propname.Equals("DJ_CK_GUID")) {
				return this.m_IsDJ_CK_GUIDNull;
			}
			return true;
		}
		
		/// <summary>将某个属性设置为空</summary>
		public override void SetNull(string propname) {
			if (propname.Equals("BSM")) {
				this.m_IsBSMNull = true;
				return;
			}
			if (propname.Equals("采矿许可证号")) {
				this.m_Is采矿许可证号Null = true;
				return;
			}
			if (propname.Equals("矿山名称")) {
				this.m_Is矿山名称Null = true;
				return;
			}
			if (propname.Equals("生产周期年份")) {
				this.m_Is生产周期年份Null = true;
				return;
			}
			if (propname.Equals("生产周期季度")) {
				this.m_Is生产周期季度Null = true;
				return;
			}
			if (propname.Equals("产量")) {
				this.m_Is产量Null = true;
				return;
			}
			if (propname.Equals("销量")) {
				this.m_Is销量Null = true;
				return;
			}
			if (propname.Equals("单价")) {
				this.m_Is单价Null = true;
				return;
			}
			if (propname.Equals("销售收入")) {
				this.m_Is销售收入Null = true;
				return;
			}
			if (propname.Equals("本期应缴")) {
				this.m_Is本期应缴Null = true;
				return;
			}
			if (propname.Equals("本期实缴")) {
				this.m_Is本期实缴Null = true;
				return;
			}
			if (propname.Equals("交款时间")) {
				this.m_Is交款时间Null = true;
				return;
			}
			if (propname.Equals("收款人")) {
				this.m_Is收款人Null = true;
				return;
			}
			if (propname.Equals("备注")) {
				this.m_Is备注Null = true;
				return;
			}
			if (propname.Equals("排序编码")) {
				this.m_Is排序编码Null = true;
				return;
			}
			if (propname.Equals("DJ_CK_GUID")) {
				this.m_IsDJ_CK_GUIDNull = true;
				return;
			}
		}
	}
}
